package org.ranch.api.security;

/**
 * This class contains security related constants like default permissions
 * 
 */
public final class PermissionConstants {

    /**
     * default constructor (Note: it is private because this class can't be
     * instantiated)
     */
    private PermissionConstants() {

    }


    /**
     * permission for adminstrator
     */
    @PermissionAnnotation(id = "A0A08826-96C0-438b-876E-55534ABE0461",
	    description = "Rights for an adminstrator")
    public static final String PERM_ADMIN = "perm_admin";

    @PermissionAnnotation(id = "2CD8DF85-152E-4c30-BF74-FZZZZZZSSSD2D",
	    description = "View farm")
    public static final String PERM_VIEW_FARM = "perm_view_farm";
    
    @PermissionAnnotation(id = "2CDOOOOPS-152E-4c30-BF74-FE18103A5D2D",
	    description = "Edit farm")
    public static final String PERM_EDIT_FARM = "perm_edit_farm";
    
    @PermissionAnnotation(id = "2WD8DF85-152E-4c30-BF74-FE1810GGGTHEJA",
	    description = "Delete farm")
    public static final String PERM_DELETE_FARM = "perm_delete_farm";
    
    @PermissionAnnotation(id = "2WWWWF85-152E-4c30-BF74-FE181DSASD2D",
	    description = "View Kraal")
    public static final String PERM_VIEW_KRAAL = "perm_view_kraal";
    
    @PermissionAnnotation(id = "2CDQQDSDDS-152E-4c30-B2e334-FE181QQQD2D",
	    description = "Edit kraal")
    public static final String PERM_EDIT_KRAAL = "perm_edit_kraal";
    
    @PermissionAnnotation(id = "2EEDF85-152E-4c30-BF74-FE12343544454WWJA",
	    description = "Delete kraal")
    public static final String PERM_DELETE_KRAAL = "perm_delete_kraal";
    
    
    @PermissionAnnotation(id = "2CDASDDF85-152E-4c30-BF74-FEJJJDF5D2D",
	    description = "View animal")
    public static final String PERM_VIEW_ANIMAL = "perm_view_animal";
    
    @PermissionAnnotation(id = "2ZZZZ332OPS-152E-4c30-BF74-FSSHHD2D",
	    description = "Edit animal")
    public static final String PERM_EDIT_ANIMAL = "perm_edit_animal";
    
    @PermissionAnnotation(id = "2AAAADF85-152E-4c30-BF74-FE1TH5346EJA",
	    description = "Delete animal")
    public static final String PERM_DELETE_ANIMAL = "perm_delete_animal";
    
    @PermissionAnnotation(id = "2AAAADF85-152E-4c30-BF74-BBBSDSDER3434",
	    description = "View Report")
    public static final String PERM_VIEW_REPORT = "perm_view_report";
    
    /**
     * permission to access web resources if the api is used in a web
     * application
     */
    @PermissionAnnotation(
	    id = "BE77AA9B-60CC-47F7-B163-12B0064BE0FA",
	    description = "Ability to access web resources if api is used in a web application")
    public static final String PERM_WEB_ACCESS = "perm_web_access";
}
